This disclosure relates generally to use of shared artifacts in a data processing system and, more specifically, to selective determination of delta validation of a shared artifact used in the data processing system.
In a non-trivial number of scenarios, a data processing system is built with multiple tools utilizing shared artifacts that do not explicitly support versioning. For example, one tool may be used to implement a Web service definition language (WSDL) service endpoint, and another independent tool may be used to invoke the Web service definition language service; however, both tools share a same Web service definition language artifact.
In certain instances, for example, during a development cycle, a tool may make changes to the artifact. These changes may need to be propagated to other tools that use the shared artifact. For example, the tool implementing a Web service definition language service endpoint may change the endpoint parameters, while other tools require the updated information for successful integration.
In some tools, properties from the shared artifacts may be stored in multiple places. The properties exist in the shared artifact, but may also be duplicated in local locations to provide functionality such as the ability to locally overwrite values. When these tools receive an updated shared artifact, there is a potential that a user may have made changes to the properties in these secondary locations. For example, a user may have overwritten the Web service definition language endpoint to temporarily integrate with a testing server. In another example, the Web service definition language endpoint is overwritten as a temporary workaround, and the shared artifact has now been updated with the correct value. In these examples, there is a discrepancy between the local value of the property and the same property value in the new shared artifact. For these discrepancies to be identified, the new shared artifact and dependencies must be entirely loaded, and compared against the local values. There may possibly be an unnecessary and potentially large performance impact due to loading and testing the artifact to identify which values take precedence. A user may be prompted to provide a precedence preference; however, this imposes a time cost and a requirement upon the user to make a general decision about each instance.